package org.edu.modules.scheduleCommon.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;

/**
 * entity-班级信息表
 */
@TableName("ve_base_banji")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "班级信息表对象", description = "ve_base_banji")
public class VeBaseBanji implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
    private Integer id;

    @TableField
    @ApiModelProperty(value = "系统终端ID")
    private Integer terminalid;

    @TableField
    @ApiModelProperty(value = "行政班代码")
    @Length(max = 10)
    private String xzbdm;

    @TableField
    @ApiModelProperty(value = "行政班名称")
    @Length(max = 50)
    private String xzbmc;

    @TableField
    @ApiModelProperty(value = "年级代码")
    @Length(max = 4)
    private String njdm;

    @TableField
    @ApiModelProperty(value = "年级名称")
    @Length(max = 11)
    private String njmc;

    @TableField(value = "grade_id")
    @ApiModelProperty(value = "年级ID")
    private Integer gradeId;

    @TableField
    @ApiModelProperty(value = "专业代码")
    @Length(max = 6)
    private String zydm;

    @TableField(value = "spec_id")
    @ApiModelProperty(value = "专业ID")
    private Integer specId;

    @TableField
    @ApiModelProperty(value = "建班年月")
    @Length(max = 11)
    private String jbny;

    @TableField
    @ApiModelProperty(value = "入学年份,根据年级自动生成")
    @Length(max = 11)
    private String rxnf;

    @TableField(value = "bzr_user_id")
    @ApiModelProperty(value = "班主任用户ID")
    private Integer bzrUserId;

    @TableField
    @ApiModelProperty(value = "男生人数")
    private Integer nansrs;

    @TableField
    @ApiModelProperty(value = "女生人数")
    private Integer nvsrs;

    @TableField
    @ApiModelProperty(value = "总人数（人数上限）")
    private Integer zrs;

    @TableField(value = "bz_user_id")
    @ApiModelProperty(value = "班长用户ID")
    private Integer bzUserId;

    @TableField
    @ApiModelProperty(value = "教学计划")
    @Length(max = 20)
    private String jxjh;

    @TableField(value = "dep_id")
    @ApiModelProperty(value = "机构部门ID")
    private Integer depId;

    @TableField(value = "campus_id")
    @ApiModelProperty(value = "校区ID")
    private Integer campusId;

    @TableField
    @ApiModelProperty(value = "教学楼ID（教务系统的建筑物ID）")
    private Integer jzid;

    @TableField
    @ApiModelProperty(value = "教室ID（教务系统的教室ID）")
    private Integer jsid;

    @TableField
    @ApiModelProperty(value = "毕业时间")
    private Integer bysj;

    @TableField
    @ApiModelProperty(value = "排序")
    private Integer listsort;

    @TableField
    @ApiModelProperty(value = "状态;1可用2不可用")
    private Integer status;

    @TableField
    @ApiModelProperty(value = "毕业班级状态，0=>未毕业，1=>毕业审核中， 2=>已毕业")
    private Integer bystatus;
}
